package com.ce.pms.charge.dao;
import java.math.BigDecimal;
import java.util.Map;

import com.ce.pms.base.dao.IPmsBaseDao;
import com.ce.pms.charge.model.AccountDomain;
import com.ce.pms.charge.vo.PrePayOffsetSearchVO;
import com.ce.pms.charge.vo.PrePayOffsetVO;
import com.sitechasia.webx.core.support.Page;

public interface IAccountDao extends IPmsBaseDao<AccountDomain>{
	/**
	 * 功能描述: 得到指定产权和房屋的账户，
	 * 参数isActive如果为true，则只查询其有效账户，否则全都查询 <br>
	 * @param proRightId
	 * @param houseId
	 * @return
	 *
	 * Create author:付湘辉 <br>
	 * Create on:2008-8-26  <br>
	 * Edit author:  <br>
	 * Edit on:    <br>
	 * Why:     <br>
	 */
	@SuppressWarnings("unchecked")
	public AccountDomain getAccountBy(Long proRightId,Long houseId,boolean isActive);

	/**
	 * 功能描述:查询所有有效帐户的余额。key 帐户id,value 帐户余额<br>
	 * @return<br>
	 * Create author:罗军林<br>
	 * Create on:2008-9-26<br>
	 * Edit author:<br>
	 * Edit on:<br>
	 * Why:<br>
	 */
	public Map<Long,BigDecimal> getAllAccountBalance();

	/**
	 * 功能描述:查询预交款帐户信息<br>
	 * @param searchVO
	 * @return<br>
	 * Create author:罗军林<br>
	 * Create on:2008-9-26<br>
	 * Edit author:<br>
	 * Edit on:<br>
	 * Why:<br>
	 */
	public Page queryPrePay(PrePayOffsetSearchVO searchVO);

	/**
	 * 功能描述:根据帐户ID查询预交帐户信息<br>
	 * @param houseId
	 * @return<br>
	 * Create author:罗军林<br>
	 * Create on:2008-10-7<br>
	 * Edit author:<br>
	 * Edit on:<br>
	 * Why:<br>
	 */
	public PrePayOffsetVO findPrePayOffsetByAccountId(Long houseId);
}
